package com.yunzhou.service;

import com.yunzhou.entity.ForumComment;
import com.yunzhou.vo.ForumCommentVO;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

public interface ForumCommentService {
    // 根据评论ID获取评论
    ForumComment getForumCommentByForumCommentId(Long commentId);

    // 获取文章对应的评论列表
    ForumCommentVO getForumCommentList(Long articleId, Integer orderType, Long userId, Integer pageNum, Integer pageSize);

    // 发表评论
    ForumComment postComment(ForumComment forumComment, MultipartFile commentImg) throws Exception;

    // 给评论点赞/取消点赞
    ForumComment doCommentLike(Long commentId);

    // 评论置顶/取消置顶
    void updateForumCommentTopTypeByCommentId(Long commentId);

    // 根据用户ID获取评论列表
    List<ForumComment> getForumCommentListByUserId(Long userId,Integer orderType,Integer pageNum,Integer pageSize);
    // 根据用户ID获取评论总数
    Integer getForumCommentListTotalByUserId(Long userId);

    // 根据接收人ID获取评论列表
    List<ForumComment> getForumCommentListByReplyUserId(Long replyUserId,Integer orderType,Integer pageNum,Integer pageSize);
    // 根据接收人ID获取评论总数
    Integer getForumCommentListTotalByReplyUserId(Long replyUserId);

    // 根据评论ID删除评论
    void deleteForumCommentByCommentId(Long commentId);
}
